package com.itheima.springboottest;

import com.itheima.springboottest.pojo.Clazz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class HelloServiceImpl implements HelloService{
    @Autowired
    private HelloMapper helloMapper;
    @Override
    public String hello() {
        return "hello1234";
    }

    @Override
    public List<Clazz> get() {
        List<Clazz> list=helloMapper.get();
        return list;
    }

    @Override
    public String get2() {
        // 可以调整这个值来改变爱心的大小
        final int SIZE = 10;

        // 使用 StringBuilder 来构建每一行的字符串，效率更高
        StringBuilder sb = new StringBuilder();
        sb.append("             周彤我爱你");
        sb.append("\n");
        for (int y = SIZE; y >= -SIZE; y--) {
            for (int x = -2 * SIZE; x <= 2 * SIZE; x++) {
                // 将控制台的坐标(x,y)映射到数学坐标系
                // 同时调整y轴的比例，因为控制台字符的高度通常大于宽度
                double realX = (double) x / (2 * SIZE);
                double realY = (double) y / SIZE;
                // 心形线方程
                double value = Math.pow(realX * realX + realY * realY - 1, 3) - realX * realX * realY * realY * realY;
                if (value <= 0) {
                    // 在心形线内部或边上，追加一个字符
                    sb.append("*");
                } else {
                    // 在心形线外部，追加一个空格
                    sb.append(" ");
                }
            }
            // 一行结束，换行
            sb.append("\n");
        }

        return sb.toString();
    }
}
